L'apprendimento profondo è fondamentalmente un'evoluzione dell'apprendimento automatico classico, che considera il riconoscimento di schemi complessi come approssimazione di funzioni a elevata dimensione problemi. Questo campo si basa sull'ampliamento di tecniche consolidate di algebra lineare e tecniche di ottimizzazione, passando da modelli classici con pochi parametri (come i classici SVM o la regressione lineare) a modelli con milioni o miliardi di parametri. Il successo richiede una padronanza nell'esprimere queste relazioni complesse tramite una notazione matriciale efficiente.
1. La struttura fondamentale: Approssimazione di funzioni altamente parametriche
Una rete neurale profonda è costruita impilando semplici trasformazioni lineari (moltiplicazioni matriciali con pesi $W$ e bias $b$) alternate da funzioni di attivazione non lineari elemento per elemento. Questa architettura permette alla rete di apprendere automaticamente gerarchie sempre più astratte e complesse di caratteristiche direttamente dai dati grezzi.
2. Il legame fondamentale: Calcolo differenziale multivariato e retropropagazione
Addestrare questi modelli di grandi dimensioni richiede la minimizzazione di una funzione di perdita $L(\theta)$ rispetto a tutti i parametri della rete $\theta$. Questo processo richiede di calcolare in modo efficiente il gradiente $\nabla_{\theta} L$ su ogni singolo parametro usando un algoritmo chiamato retropropagazione, che è l'applicazione diretta della regola della catena multivariata per la derivazione.
The weights $W$ have dimension $(D \times K)$. Therefore, the gradient $\frac{\partial L}{\partial W}$ must also be $(D \times K)$ to perform the parameter update $W := W - \eta \frac{\partial L}{\partial W}$.